Tyepcho博客添加Open Graph图片

在Typecho中使用:

<<span class="hljs-function"><span class="hljs-title">meta</span> property="og:image" content="//example.org/og/?<span class="hljs-built_in">title</span>=<?php $this-></span><span class="hljs-function"><span class="hljs-title">title</span>(); ?>&des=<?php $this-></span>description(); ?><span class="hljs-string">"/></span>
<span class="php"><span class="hljs-meta"><?php</span>

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">og</span><span class="hljs-params">($title, $des)</span> </span>{
    $img = imagecreatefrompng(<span class="hljs-string">'./bg.png'</span>);
    $black = imagecolorallocate($img, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>);
    $title_font = <span class="hljs-string">'./ZhanKuKuaiLeTi2016XiuDingBan-1.ttf'</span>;
    $desc_font = <span class="hljs-string">'./ZhanKuKuaiLeTi2016XiuDingBan-1.ttf'</span>;
    $title_lines = explode(<span class="hljs-string">"\n"</span>, wordwrap($title, <span class="hljs-number">30</span>, <span class="hljs-string">"\n"</span>, <span class="hljs-keyword">true</span>));
    $desc_lines = explode(<span class="hljs-string">"\n"</span>, wordwrap($des, <span class="hljs-number">60</span>, <span class="hljs-string">"\n"</span>, <span class="hljs-keyword">true</span>));
    $title_y = <span class="hljs-number">60</span>;
    $desc_y = <span class="hljs-number">200</span>;

    <span class="hljs-keyword">foreach</span> ($title_lines <span class="hljs-keyword">as</span> $line) {
        imagettftext($img, <span class="hljs-number">55</span>, <span class="hljs-number">0</span>, <span class="hljs-number">10</span>, $title_y, $black, $title_font, $line);
        $title_y += <span class="hljs-number">65</span>;
    }

    <span class="hljs-keyword">foreach</span> ($desc_lines <span class="hljs-keyword">as</span> $line) {
        imagettftext($img, <span class="hljs-number">25</span>, <span class="hljs-number">0</span>, <span class="hljs-number">10</span>, $desc_y, $black, $desc_font, $line);
        $desc_y += <span class="hljs-number">30</span>;
    }

    header(<span class="hljs-string">'Content-Type: image/png'</span>);
    imagepng($img);
    imagedestroy($img);
}

<span class="hljs-comment">// Retrieve title and description from URL parameters</span>
$title = <span class="hljs-keyword">isset</span>($_GET[<span class="hljs-string">'title'</span>]) ? $_GET[<span class="hljs-string">'title'</span>] : <span class="hljs-string">'Default Title'</span>;
$des = <span class="hljs-keyword">isset</span>($_GET[<span class="hljs-string">'des'</span>]) ? $_GET[<span class="hljs-string">'des'</span>] : <span class="hljs-string">'Default Description'</span>;

<span class="hljs-comment">// Example usage:</span>
og($title, $des);
<span class="hljs-meta">?></span></span>

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注